package org.smarthings.things.automation;

public interface RuleEngine {

	public Rule registerRule(String name, String[] tags, Trigger trigger, Condition condition,
			Action action) throws IllegalArgumentException;

	public void unregisterRule(String ruleUUID);

	public void triggerRule(String ruleUUID);

	public Rule getRule(String ruleUUID);

	public RuleCollection filterRules(String filter);

	public RuleCollection listRules();

}
